    
function [H,W]=Desnormaliza(Polos,Zeros,Wp,Wa,TipoDeFiltro)
%Desnormalizacion:
    
    
    
        switch(TipoDeFiltro)                        
        case 1              %%PASABAJOS
            [ZerosPoli,PolosPoli]=lp2lp((poly(Zeros)),(poly(Polos)),Wp);
        case 2              %%PASAALTOS
            [ZerosPoli,PolosPoli]=lp2hp(real(poly(Zeros)),real(poly(Polos)),Wp);
        case 3              %%PASABANDA
            BW=(Wp(1)-Wp(2));
            W0=sqrt(Wp(1)*Wp(2));
            [ZerosPoli,PolosPoli]=lp2bp(real(poly(Zeros)),real(poly(Polos)),W0,BW);
        case 4              %%RECHAZABANDA
            BW=(Wp(1)-Wp(2))
         	W0=sqrt(Wp(1)*Wp(2));
            [ZerosPoli,PolosPoli]=lp2bs(real(poly(Zeros)),real(poly(Polos)),W0,BW);
        end
    
    
       
    
    
    
    %Transferencia
    PolosPosta=roots(PolosPoli);
    ZerosPosta=roots(ZerosPoli);
    
    PolosPosta=-abs(real(PolosPosta))+j*imag(PolosPosta);
    ZerosPosta=-abs(real(ZerosPosta))+j*imag(ZerosPosta);
    
    H=tf(real(poly(ZerosPosta)),real(poly(PolosPosta)));
  
    switch(TipoDeFiltro)                        
        case 1              %%PASABAJOS
            W=logspace(log10(Wp/10),log10(Wa*10),10000);  
        case 2              %%PASAALTOS
            W=logspace(log10(Wa/10),log10(Wp*10),10000); 
        case 3              %%PASABANDA
            W=logspace(log10(Wa(2)/10),log10(Wa(1)*10),1000); 
        case 4              %%RECHAZABANDA
            W=logspace(log10(Wp(1)/10),log10(Wp(2)*10),10000); 
     end
    
    [MAG]=bode(H,W);
    
    H=H/max(MAG);
    end